package com.lucky.auth_boot.controller;

import com.lucky.auth_boot.common.Result;
import com.lucky.auth_boot.pojo.dto.SystemDictDTO;
import com.lucky.auth_boot.pojo.dto.SystemDictDataDTO;
import com.lucky.auth_boot.service.SystemDictService;
import jakarta.annotation.Resource;
import org.springframework.data.domain.Pageable;
import org.springframework.web.bind.annotation.*;

@RestController
@RequestMapping("/systemDict")
public class SystemDictController {
    @Resource
    SystemDictService systemDictService;

    @GetMapping("/querySystemDictList")
    public Result<?> querySystemDictList(Pageable pageable, SystemDictDTO systemDictDTO) {
        return Result.success(systemDictService.querySystemDictList(pageable, systemDictDTO));
    }

    @GetMapping("/querySystemDictDataList")
    public Result<?> querySystemDictDataList(Pageable pageable, SystemDictDataDTO systemDictDataDTO) {
        return Result.success(systemDictService.querySystemDictDataList(pageable, systemDictDataDTO));
    }

    @GetMapping("/querySystemDictById")
    public Result<?> querySystemDictById(Integer id) {
        return Result.success(systemDictService.querySystemDictById(id));
    }

    @GetMapping("/querySystemDictDataById")
    public Result<?> querySystemDictDataById(Integer id) {
        return Result.success(systemDictService.querySystemDictDataById(id));
    }

    @PutMapping("/putSystemDictById")
    public Result<?> putSystemDictById(@RequestBody SystemDictDTO systemDictDTO) {
        return Result.success(systemDictService.putSystemDictById(systemDictDTO));
    }

    @PutMapping("/putSystemDictDataById")
    public Result<?> putSystemDictDataById(@RequestBody SystemDictDataDTO systemDictDataDTO) {
        return Result.success(systemDictService.putSystemDictDataById(systemDictDataDTO));
    }

    @PostMapping("/postSystemDictAdd")
    public Result<?> postSystemDictAdd(@RequestBody SystemDictDTO systemDictDTO) {
        return Result.success(systemDictService.postSystemDictAdd(systemDictDTO));
    }

    @GetMapping("/querySystemDictDataListAll")
    public Result<?> querySystemDictDataListAll(String dictType) {
        return Result.success(systemDictService.querySystemDictDataListAll(dictType));
    }
}
